package com.atguigu.gulimall.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


/**
 * 使用nacos作为配置中心步骤:
 * 1: 引入依赖
 * 2: 创建一个bootstrap.properties文件,配置服务名,nacos配置中心地址和端口
 * 3: 需要给配置中心默认添加一个叫数据集(DataId),默认规则:服务名.properties
 * 4: 给服务名.properties添加任何配置
 * 5: 获取nacos配置中心的动态值; @RefreshScope(动态刷新并获取),@Value(获取对应的值)
 * 6: 如果配置中心和当前项目的配置文件配置了相同的项,优先使用配置中心的配置
 * 配置的时候需要注意的细节:
 *  1:命名空间: 配置隔离
 *      1:默认public,默认新增的所有配置都在public空间
 *      2:开发,测试,生产:利用命名空间来做环境隔离
 *          注意:在bootstrap.properties配置上,需要使用哪个命名空间下的配置,就配置如下
 *          spring.cloud.nacos.config.namespace=48a989e4-7aa3-41a5-b8db-41e26a4ef831
 *          每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置
 *  2:配置集:所有的配置的集合
 *  3:配置集ID:就是DataId,类似于文件名
 *  4:配置分组:默认所以的配置集都属于:DEFAULT_GROUP
 *  5: 每个微服务都有自己的命名空间,使用配置分组区分环境Dev,test,prop
 *  nacos作为配置中心获取配置文件的时候,默认优先从nacos获取相应的配置文件,如果那nacos没有,就从服务的配置文件中获取
 **/
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
